<?php
  require_once("../basedatos.php");

class Tema {
   private  $id;
   private  $titulo;
   private  $fecha_creacion;
   private  $fecha_ult_modif;
   private  $cantidad_comentarios;
   private  $muroID;
   private  $foroID;
	
   /*
    * Constructor de la clase, recibe como parametro el titulo del tema que 
	 * se desea crear
    */
	public function __construct($str_titulo){
		$this->titulo = $str_titulo;
		$fecha = getdate();
		$this->fecha_creacion = $fecha["year"]."-".$fecha["mon"]."-".$fecha["mday"];
		$this->fecha_ult_modificacion = $fecha["year"]."-".$fecha["mon"]."-".$fecha["mday"];
		$this->cantidad_comentarios = 0;
		$this->foroID = 1;
		$this->muroID = -1;
	}
   
	/*
	 * Guarda en la base de datos la instancia actual de Tema como un nuevo tema en el foro.
	 * Coloca en $this el tema guardado.
	 */
	public function guardarNuevo(){
		$bd = new BaseDatos();
		$bd->agregarTema($this);
      /*
         // Logica redundante.
         $tema = $bd->buscarTemaTitulo($this->titulo);
         $this->id = $tema->getId();
         $this->titulo = $tema->getTitulo();
         $this->fecha_creacion = $tema->getFecha_creacion();
         $this->fecha_ult_modif = $tema->getFecha_ult_modif();
         $this->cantidad_comentarios = $tema->getCantidad_comentarios();
         $this->muroID = $tema->getMuroID();
         $this->foroID = $tema->getForoID();
      */
	}
   
    /*
     * Elimina la instancia en $this de la base de datos, si la instancia no
     * existe aun en la base de datos, simplemente no hace nada
     */
	public function eliminarTema() {
		$bd = new BaseDatos();
		$bd->eliminarTema($this);
		return;
	}
   
    public function obtener_comentarios () {

    }
   
    public function modificar_team ($nombre) {

    }
    
    /* Metodo que permite obtener un tema de la base de datos utilizando su titulo como 
     * patron de busqueda
     */
    public static function buscarTema($titulo){
      $bd = new BaseDatos();
      return $bd->buscarTemaTitulo($titulo);
    }
	
	//Lista de getters
	public function getId(){return $this->id;}
	public function getTitulo(){return $this->titulo;}
	public function getFecha_creacion(){return $this->fecha_creacion;}
	public function getFecha_ult_modif(){return $this->fecha_ult_modif;}
	public function getCantidad_comentarios(){return $this->cantidad_comentarios;}
	public function getMuroID(){return $this->muroID;}
	public function getForoID(){return $this->foroID;}
	//Lista de setters
	public function setId($id){$this->id = $id;}
	public function setTitulo($titulo){$this->titulo = $titulo;}
	public function setFecha_creacion($fc){$this->fecha_creacion = $fc;}
	public function setFecha_ult_modif($fu){$this->fecha_ult_modif = $fu;}
	public function setCantidad_comentarios($cc){$this->cantidad_comentarios = $cc;}
	public function setMuroID($mid){$this->muroID = $mid;}
	public function setForoID($fid){$this->foroID = $fid;}
}

?>
